return FALSE;
}
+static void
+free_monitors (GdkX11Monitor *monitors,
+ gint n_monitors)
+{
+ int i;
+
+ for (i = 0; i < n_monitors; ++i)
+ {
+ g_free (monitors[i].output_name);
+ g_free (monitors[i].manufacturer);
+ }
+
+ g_free (monitors);
+}
+
static int
monitor_compare_function (GdkX11Monitor *monitor1,
GdkX11Monitor *monitor2)
/* non RandR 1.2 X driver doesn't return any usable multihead data */
if (randr12_compat)
{
- g_array_free (monitors, TRUE);
+ guint n_monitors = monitors->len;
+
+ free_monitors ((GdkX11Monitor *)g_array_free (monitors, FALSE),
+ n_monitors);
+
return FALSE;
}
return FALSE;
}
-static void
-free_monitors (GdkX11Monitor *monitors,
- gint n_monitors)
-{
- int i;
-
- for (i = 0; i < n_monitors; ++i)
- {
- g_free (monitors[i].output_name);
- g_free (monitors[i].manufacturer);
- }
-
- g_free (monitors);
-}
-
static void
deinit_multihead (GdkScreen *screen)
{